The invention relates generally to the field of optical guided wave signal processors and, more specifically, to array processors for pipeline architectures capable of matrix-vapor multiplication, lattice, transversal and matched filtering.
The need for more and more data processing speed grows with increasingly complex applications. For example, in computer systems that process images from TV cameras for robotic vision, a vast amount of information is generated which must be processed. This vast quantity of information can overwhelm an ordinary computer, leading to unacceptable processing times.
One way of speeding up such processing is through pipeline architecture for computers. Pipelining is a hardware configuration, i.e., architecture for a computer, involving a plurality of processors linked into an array to achieve higher performance. This is done by breaking up complex, time-consuming functions into a series of simpler, shorter operations, each of which can be executed in assembly line fashion with simultaneous computation on different sets of data by the different processors. The improvement in performance is directly proportional to the number of pipeline processors in the array that are simultaneously kept busy doing part of the task. Pipelining is most effective in special purpose applications which can use array processors.
The concept of systolic arrays for computing data as signals pass through system has been proposed in the prior art for network processing. Such a concept is discussed by Mead & Conway in Introduction To VLSI Systems, Section 8.3, Addison Wesley Publishing Company (1980). Systolic arrays have building blocks which are processors which are ganged together for matrix-vector operation. A vector is a multi-element mathematical quantity where each element represents and quantifies one characteristic of the vector; the overall set of elements completely defines the vector, e.g., V=(a, b, c) where a, b and c define V as by the cartesian coordinates of the tip of V in three dimensional space. An array is an architecture where all, or substantially all, the processors are kept active during the computation doing small pieces of it. Such arrays make multiple uses of each input data coefficient, as well as partial outputs or intermediate results. High throughput can be achieved in this fashion without requiring high bandwidth between the array and the host processor which is controlling the array processors.
Array processors are most effective in solving well defined sets of problems. Such problems include fast Fourier transforms, matrix-vector operations, and correlation or convolution operations. These processors can find effective use in computed tomography, image enhancement, image analysis, speech analysis and signal processing in general.
Signal processing often involves matrix-vector multiplication to implement the convolution and correlation mathematical operations. For example, in processing video images for robotic vision systems, it is often desirable to find the edges of objects. An image can be thought of as an array of pixels or individual data elements of varying intensity arranged in rows and columns. There is a particular mathematical operation of a convolution type which can be used to find edges in an array of pixels because convolution changes an image from a representation of light intensity variations over a scene to a representation of the rate of change of light intensities over a scene. It is therefore possible to find edges in the image since the rate of change of light intensity is usually greatest at the edges of images in the picture. The convolution operation can be carried out with a matrix-vector multiplication involving a Toeplitz matrix.
Matrix-vector multiplication implemented correlation plays an important part in many signal processing applications. For example, in communicating with satellites or whenever noise is present on communication lines, the mathematical correlation operation can be used advantageously to increase the integrity of the communication. Correlation can be physically thought of as a comparison of the pattern of the signal received to a known pattern representing command or data and finding the best match to determine what was received and when it was received. Correlation also involves a matrix-vector multiplication operation with a Toeplitz matrix.
Matrix-vector operations can be accomplished with a series of so-called inner product step operations, i.e. C.rarw.C+A.times.B. An inner product step processor is a device to implement the above algorithm or inner product step function.
Because of increasing quantities of information that must be processed in many applications now coming to the fore, such as speech recognition and image processing, a need for greater information processing capability has arisen. Optical signal processors which can perform matrix-vector multiplication are desirable because of the increased information carrying capability of light waves.
Various optical array processors have been described in the prior art. Among them are processors described by Caulfield et al., "Optical Implementation of Systolic Array Processors", Optics Communications, Vol. 40, No. 2, pages 86-90, Dec. 15, 1981; Casasent, "Acoustooptic Transducers in Iterative Optical Vector-Matrix Processors", Applied Optics, Vol. 21, No. 10, May 15, 1982; Taylor, "Fiber and Integrated Optical Devices for Signal Processing", SPIE Vol. 176, Guided Wave Optical Systems and Devices, II (1979), pages 17-27.
E. Marom in IEEE Transactions on Circuits and Systems, CAS-25, 360-364 (1978) described a matched filter coding method using a fiber optic structure involving two fiber optic waveguides carrying light in the same direction and cross coupled by a plurality of directional couplers. The fiber optic waveguides were multimode. This structure was said to have matched filter properties. The Marom structure differs from the structure herein because of the direction of light propagation in the output fiber which results in no feedback recirculation between couplers. Marom also used multimode fiber.